package leetcode_900;

import java.util.HashSet;
import java.util.Set;

import helpclass.ListNode;

/**
 *@author 周杨
 *LinkedListComponents_817 给定一个链表和一个其子集合里的元素  问这些元素在链表里是几段
 *describe:用set标记出现过的数字  AC 35%
 *2018年10月27日 下午9:01:07
 */
public class LinkedListComponents_817 {
	public int numComponents(ListNode head, int[] G) {
        Set<Integer> set=new HashSet<Integer>();
        for(int i:G)
        	set.add(i);
        int res=0;
        while(head!=null) {
        	if(!set.contains(head.val)) {
        		head=head.next;
        	}
        	else {
        		++res;
        		while(head!=null&&set.contains(head.val))
        			head=head.next;
        	}
        }
        return res;
    }
}
